package com.guigu.tms.commons.dispatch.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 缓冲路线表
 * </p>
 *
 * @author zwj
 * @since 2022-10-19
 */
@TableName("pd_cache_line")
public class CacheLine implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private String id;

    /**
     * 起始机构
     */
    private String startAgencyId;

    /**
     * 终点机构
     */
    private String endAgencyId;

    /**
     * 验证是否可用key,md5(子表的起始相加)
     */
    private String verifyKey;

    /**
     * 距离
     */
    private BigDecimal distance;

    /**
     * 成本
     */
    private BigDecimal cost;

    /**
     * 预计时间
     */
    private String estimatedTime;

    /**
     * 中转次数
     */
    private Integer transferCount;

    /**
     * 从1开始递增
     */
    private Integer version;

    /**
     * 是否是当前最新版本 0 否 1 是
     */
    private Boolean isCurrent;

    /**
     * 创建时间
     */
    private LocalDateTime createDate;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
    public String getStartAgencyId() {
        return startAgencyId;
    }

    public void setStartAgencyId(String startAgencyId) {
        this.startAgencyId = startAgencyId;
    }
    public String getEndAgencyId() {
        return endAgencyId;
    }

    public void setEndAgencyId(String endAgencyId) {
        this.endAgencyId = endAgencyId;
    }
    public String getVerifyKey() {
        return verifyKey;
    }

    public void setVerifyKey(String verifyKey) {
        this.verifyKey = verifyKey;
    }
    public BigDecimal getDistance() {
        return distance;
    }

    public void setDistance(BigDecimal distance) {
        this.distance = distance;
    }
    public BigDecimal getCost() {
        return cost;
    }

    public void setCost(BigDecimal cost) {
        this.cost = cost;
    }
    public String getEstimatedTime() {
        return estimatedTime;
    }

    public void setEstimatedTime(String estimatedTime) {
        this.estimatedTime = estimatedTime;
    }
    public Integer getTransferCount() {
        return transferCount;
    }

    public void setTransferCount(Integer transferCount) {
        this.transferCount = transferCount;
    }
    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }
    public Boolean getIsCurrent() {
        return isCurrent;
    }

    public void setIsCurrent(Boolean isCurrent) {
        this.isCurrent = isCurrent;
    }
    public LocalDateTime getCreateDate() {
        return createDate;
    }

    public void setCreateDate(LocalDateTime createDate) {
        this.createDate = createDate;
    }

    @Override
    public String toString() {
        return "CacheLine{" +
            "id=" + id +
            ", startAgencyId=" + startAgencyId +
            ", endAgencyId=" + endAgencyId +
            ", verifyKey=" + verifyKey +
            ", distance=" + distance +
            ", cost=" + cost +
            ", estimatedTime=" + estimatedTime +
            ", transferCount=" + transferCount +
            ", version=" + version +
            ", isCurrent=" + isCurrent +
            ", createDate=" + createDate +
        "}";
    }
}
